A variety of platforms may include support for plug-in services. A plug-in service may be used to augment the capabilities of a platform by adding services that are not built-in to the platform. For example, a plug-in service may be downloaded via the Internet to provide a new capability to an existing platform.
One example of a platform that supports plug-in services is a services platform. A services platform may be defined as a software system that provides a set of services that pertain to a set of devices deployed in a home or business. Examples of devices that may be serviced via a services platform include computer systems, printers, communication devices, storage devices, display devices, etc. Examples of a services platform include Openview and WebjetAdmin by Hewlett-Packard.
A platform may conform to an interface specification that enables software developers to create plug-in services that are able to run on the platform. For example, an interface specification may include an application programming interface (API) that defines a set of methods in the platform that may be called by plug-in services.
A prior plug-in service that is adapted to the interface specification for one platform may not run on another platform due to differences in the interface specifications of the two platforms. For example, a prior plug-in service developed according to the interface specification of Openview may not run on WebJetAdmin. As a consequence, a developer of a plug-in service may develop a version of the plug-in service for each desired platform. Unfortunately, the development of multiple versions of the same plug-in service may increase the cost of developing a plug-in service by consuming large amounts of software development resources and by increasing development time an increasing the likelihood of software bugs.